The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Spectrum-based fault localization techniques are semi-automated program debugging techniques that address the bottleneck of finding suspicious program locations for diagnosis. They assess the fault suspiciousness of individual program locations based on the code coverage data achieved by executing the program under debugging over a test suite. A program location can be viewed at different abstraction...
Combining with a research of Hydraulic Bursting Test Bed, a software development of measuring and controlling system for this test bed is introduced, which was designed based on LabWindows/CVI. This paper introduces composition and working principle of both hardware and software structure of this system and highlights the PID control module. DLL, database and multithreading technology have been fully...
Because debugging is notoriously time-consuming and laborious, fault localization becomes a major activity in software testing researches. This paper proposes a novel fault localization approach which utilizes intersection of control-flow based execution traces. It reports all program points, which are executed in every failed test case, as suspect of bugs and ranks them based on the frequency they...
Control systems are used in industry for process automation and to increase the reliability and dependability when executing critical tasks. Failures in the operation of such systems may cause expensive losses and can compromise the plant safety. Therefore, it is necessary to define techniques, methods and tools to increase the dependability as well as reliability. Verification and validation techniques...
Test-suite augmentation for evolving software -- the process of augmenting a test suite to adequately test software changes -- is necessary for any program that undergoes modifications as part of its development and maintenance cycles. Recently, we presented a new technique for test-suite augmentation based on leveraging the propagation conditions for the effects of changes. Although empirical studies...
Embedded systems are becoming increasingly ubiquitous, controlling a wide variety of popular and safety-critical devices. Effective testing techniques could improve the dependability of these systems. In prior work we presented an approach for testing embedded systems, focusing on embedded system applications and the tasks that comprise them. In this work we focus on a second but equally important...
Uncaught exceptions, and in particular null pointer exceptions (NPEs), constitute a major cause of crashes for software systems. Although tools for the static identification of potential NPEs exist, there is need for proper approaches able to identify system execution scenarios causing NPEs. This paper proposes a search-based test data generation approach aimed at automatically identify NPEs. The...
Nowadays, one of the most effective ways to identify software vulnerabilities by testing is the use of fuzzing, whereby the robustness of software is tested against invalid inputs that play on implementation limits or data boundaries. A high number of random combinations of such inputs are sent to the system through its interfaces. Although fuzzing is a fast technique which detects real errors, its...
This paper includes a contribution to explaining category theory using software engineering tasks and vice versa. First, basics of category theory are presented. A couple of examples follow including definitions of categories for web services and/or ones that use 2D/3D points as objects and computer graphics transformations as morphisms. Another category is shown for software testing area. The last...
Software testing is the important means that guarantee software quality and reliability. Improving the automation ability of software testing is very important for ensuring software's quality and reducing development cost, and improving the automation ability of test cases generation is the key point for the entire process. This paper discusses the methods and techniques of genetic algorithm as the...
Coverage analysis has been playing an important role in testing traditional single threaded applications. As the number of multicore hardware being used increases, the number of multithreaded applications grows as well. In multi-threaded environment, traditional code coverage models cannot really cover the nondeterministic behavior of simultaneously running threads. The concept of synchronization...
Symbolic techniques have been shown to be very effective in path-based test generation, however, they fail to scale to large programs due to the exponential number of paths to be explored. In this paper, we focus on tackling this path explosion problem and propose search strategies to achieve quick branch coverage under symbolic execution, while exploring only a fraction of paths in the program. We...
Mutation based testing has been considered in many experiments as the most efficacious in terms of revealed faults, but also the most expensive, considering the number of executions. Other problem is that the test data are generally derived from the programs and do not ensure the discovering of faults usually revealed with test data generated from the specification, such as missing paths, which are...
Dataflow testing of programs ensures the execution of data dependencies between locations in the code (1) where variables are assigned values, and (2) where these definitions are used. Such data dependencies are called Def-Use Associations (DUAs). In an aspect-oriented (AO) program, aspects and classes interact in several ways, such as (1) through parameters passed from advised methods in a class...
We propose an approach in the form of a light weight smart fuzzer to generate string based inputs to detect buffer overflow vulnerability in C code. The approach is based on an evolutionary algorithm which is a combination of genetic algorithm and evolutionary strategies. In this preliminary work we focus on the problem that there are constraints on string inputs that must be satisfied in order to...
Generating the test inputs, that have high code coverage while minimizing the number of test inputs, is a practical but difficult problem. The application of symbolic execution in combination with SMT solvers gives a promising way to solve it. Recently, there have been several tools that help generating the test inputs for C programs, but their abilities are still limited, depending on the particular...
Commercial Off The Shelf (COTS) software is frequently obtained by a development team prior to extensive reconfiguration and bespoke change implementation. Without proper traceability between the source code, the tests, and the requirements there is a high risk of regression in the system when introducing changes. This paper proposes a technique where the coverage of tests can be measured against...
Testing Service Oriented Architecture applications is a challenging task due to the high dynamism, the low coupling and the low testability of services. Web services, a popular implementation of services, are usually provided as black box and using testing techniques based on implementation is limited. This paper presents an approach to support the use of the structural testing technique on web service...
Modern Automatic Test Equipment (ATE) systems are expected to provide a platform for existing Test Program Sets (TPS), as well as enable testing of new much more advanced Units Under Test (UUT). There are many methods to provide an interface to the UUT including reusing the existing interface or the new CTI interface. Each choice made has advantages and disadvantages to the interface. One approach...
An orchestrator in a Web Service system is a locally deployed piece of software used both to allow users to interact with the system and to communicate with remote components (Web Services) in order to fulfill a goal. We propose a symbolic model based approach to test orchestrators in the context of the systems they pilot. Our approach only takes as input a model of the orchestrator and no models...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.